package net.lab1024.sa.admin.module.business.yct.yctTeeth.domain.form;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;
import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer;

/**
 * 小程序用戶 新建表单
 *
 * @Author zhangben
 * @Date 2024-10-10 13:24:57
 * @Copyright 20241218
 */

@Data
public class UserAddForm {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "主键 不能为空")
    private Integer userId;

    @Schema(description = "昵称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "昵称 不能为空")
    private String nickName;

    @Schema(description = "年龄", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "年龄 不能为空")
    private Integer age;

    @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "性别 不能为空")
    private String sex;

    @Schema(description = "角色", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "角色 不能为空")
    @JsonDeserialize(using = DictValueVoDeserializer.class)
    private Integer role;

    @Schema(description = "积分", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "积分 不能为空")
    private Integer integral;

    @Schema(description = "代理商key", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "代理商key 不能为空")
    private Integer familyId;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "状态 不能为空")
    private Integer state;

    @Schema(description = "用户种类", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "用户种类 不能为空")
    private String remark;

}